package com.kgc.scd.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kgc.scd.bean.Order;
import com.kgc.scd.bean.OrderVO;
import com.kgc.scd.util.PageSupport;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jiangguoqiang
 * @since 2022-11-14
 */
public interface OrderService extends IService<Order> {

    /**
     * @author : Administrator
     * @date   : 2022/11/15
     * @param  : [order, pageNo, pageSize]
     * @return : com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.kgc.scd.bean.Comment>
     * @description : 查询订单带分页
     */
    PageSupport<Order> getOrderListAndPage(String orderGoodsId, Integer pageNo, Integer pageSize);

    /**
     * @author : Administrator
     * @date   : 2022/11/16
     * @param  : [id]
     * @return : boolean
     * @description : 根据id删除订单
     */
    boolean delOrderList(String id);


    /**
     * @author : Administrator
     * @date   : 2022/11/16
     * @param  : [orderNo]
     * @return : com.kgc.scd.bean.OrderVO
     * @description : 根据订单号查询订单
     */
    OrderVO queryOrderByNo(String orderNo);

    /**
     * @author : Administrator
     * @date   : 2022/11/16
     * @param  : [orderNo, expressNo]
     * @return : int
     * @description : 插入订单快递单号
     */
    int insertExpressNo(String orderNo,String expressNo);


    /**
     * @author : Administrator
     * @date   : 2022/11/18
     * @param  : [orderNo, state]
     * @return : int
     * @description : 根据订单id来修改订单状态
     */
    int updateOrderState(String orderNo, Integer state);

    /**
     * @author : Administrator
     * @date   : 2022/11/18
     * @param  : [id]
     * @return : int
     * @description : 根据订单id查询数据库中的状态，修改订单状态为7
     */
    boolean selectOrderState(String id);

    /**
     * @author : Administrator
     * @date   : 2022/11/18
     * @param  : [id]
     * @return : int
     * @description : 根据订单id查询数据库中的状态，修改订单状态为8
     */
    boolean selectOrdersState(String id);
    /**
     * @author : Administrator
     * @date   : 2022/11/18
     * @param  : [id]
     * @return : boolean
     * @description : 根据订单id来签收订单
     */
    boolean updateStatusSign(String id);
}
